package com.yonyou.pmclouds.billview.rmiimpl.buzi;

import com.yonyou.pmclouds.basecom.consts.BillTypeConst;
import com.yonyou.pmclouds.basecom.entity.PageObject;
import com.yonyou.pmclouds.basecom.entity.SuperVO;
import com.yonyou.pmclouds.basecom.exception.BusinessException;
import com.yonyou.pmclouds.basecom.util.CommonFieldConst;
import com.yonyou.pmclouds.billview.entity.BillViewQueryVO;
import com.yonyou.pmclouds.billview.rmitf.IBillViewBuziService;
import com.yonyou.pmclouds.billview.util.BillViewUtil;
import com.yonyou.pmclouds.constructiondiary.rmiitf.ConstructionDiaryQuery;
import com.yonyou.pmclouds.processphoto.entity.ProcessPhotoVO;
import com.yonyou.pmclouds.processphoto.rmiitf.ProcessPhotoQuery;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

@Component
public class ProcessPhotoBuziServiceImpl implements IBillViewBuziService {

    @Autowired
    private ProcessPhotoQuery processPhotoQuery;

    @Autowired
    private ConstructionDiaryQuery constructionDiaryQuery;

    @Override
    public String getBillType() {
        return BillTypeConst.PROCESSPHOTO_BILLTYPE;
    }

    @Override
    public PageObject<Object> queryBillList(BillViewQueryVO billViewQueryVO) throws BusinessException {

        PageObject<Object> result = processPhotoQuery.queryByCondition(billViewQueryVO.getPkProject(),billViewQueryVO.getCreators(),billViewQueryVO.getStartTime(),
                billViewQueryVO.getEndTime(),billViewQueryVO.getBillStatus(),billViewQueryVO.getPageStart(),billViewQueryVO.getPageSize());

        BillViewUtil.setBillStatus(result.getObjects());
        return result;
    }

    @Override
    public SuperVO queryBillDetail(String pkBill) throws BusinessException {
        ProcessPhotoVO processPhotoVO = processPhotoQuery.queryOne(pkBill);
        BillViewUtil.setBillStatus(new ProcessPhotoVO[]{processPhotoVO});
        BillViewUtil.setFormatDate(new ProcessPhotoVO[]{processPhotoVO},new String[]{CommonFieldConst.CREATIONTIME},new String[]{"strCreationtime"});
        return processPhotoVO;
    }
}
